﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using vudu.ClasesDominio;
using vudu.Presentacion.Contrato.VU_06_Gestionar_Profesores;
using vudu.Logica.Fachada;

namespace vudu.Presentacion.Presentador.VU_06_Gestionar_Profesores
{
    public class PresentadorConsultarUnProfesor
    {
        private IContratoConsultarUnProfesor _vista;
        private EnlaceLogico _fachada = new EnlaceLogico();
        private Escuela esc;

        public PresentadorConsultarUnProfesor(IContratoConsultarUnProfesor vista, EnlaceLogico fachada)
        {
            _vista = vista;
            esc = (Escuela)_fachada.RolActual;
        }

        public void CargarTabla(Profesor profesor)
        {
            DataTable tabla = new DataTable();
            tabla.Columns.Add("CRN", typeof(int));
            tabla.Columns.Add("C.I.", typeof(string));
            tabla.Columns.Add("Nombre", typeof(string));
            tabla.Columns.Add("email", typeof(string));           
            tabla.Columns.Add("Fecha de Nacimiento", typeof(string));
            tabla.Columns.Add("Telefono", typeof(string));
            tabla.Columns.Add("Cargo", typeof(string));
            tabla.Columns.Add("Contrato", typeof(string));
            tabla.Columns.Add("Inicio Contrato", typeof(string));
            tabla.Columns.Add("Fin Contrato", typeof(string));
           
           
                string nombreProfesor = profesor.Nombre;
                if (nombreProfesor != null)
                {
                    tabla.Rows.Add(profesor.Crn, profesor.Nacionalidad +" - " + Convert.ToString(profesor.Cedula), profesor.Nombre +' ' + 
                    profesor.Apellido, profesor.Email, profesor.FechaNacimiento.ToString("dd/MM/yyyy"), 
                    profesor.Telefono, profesor.Cargo, profesor.TiempoLaboral,profesor.FechaInicio.ToString("dd/MM/yyyy"), profesor.FechaFin.ToString("dd/MM/yyyy"));
                }
            _vista.ProfesorEscuela.DataSource = tabla;
            _vista.ProfesorEscuela.DataBind();
        }

        public void ConsularMateriasProfesor(int idProfesor, int idEscuela)
        {
            List<SeccionMateria> misMaterias = new List<SeccionMateria>(); 
            misMaterias = _fachada.MateriasAsignadasProfesor(idProfesor, idEscuela);
            CargarTablaMateriasAsignadas(misMaterias);
        }

        public void CargarTablaMateriasAsignadas(List<SeccionMateria> misMaterias)
        {

            DataTable tabla = new DataTable();
            tabla.Columns.Add("Materia", typeof(string));
            tabla.Columns.Add("Seccion", typeof(int));
            foreach (SeccionMateria seccion in misMaterias)
            {
                string nombreMateria = seccion.Materia.Nombre;
                if (nombreMateria != null)
                {
                    tabla.Rows.Add(seccion.Materia.Nombre,seccion.Codigo);
                }
            }
            _vista.MateriasProfesor.DataSource = tabla;
            _vista.MateriasProfesor.DataBind();
        }
    }

}